<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// JS 三大核心：
  // JS core 、BOM 、DOM（Document）

// 三种书写方式：行内式、内嵌式、外链式

/* 三种打印方式
 console.log()  ->  控制台
 alert()        ->  弹框
 document.write() ->  页面
 */

var num = 123;

// 表达式  ->  有唯一返回值/可以放到 等号右边
    // 表达式，1）要执行   2）要有返回值

// 变量类型：
/* 五种基础数据类型
number
string
boolean
undefined
null
*/

/* 五种基础数据类型 的返回值
  typeof number    返回值 ->   'number'
  typeof string    返回值 ->   'string'
  typeof boolean    返回值 ->   'boolean'
  typeof undefined    返回值 ->   'undefined'
  typeof null    返回值 ->   'object'
*/

/* 三种基本类型间相互转换
number:
  - Number(表达式)  ->  能转成数字就转成数字，不能的话 返回 NaN  ->  Not a Number
  - parseInt(表达式)  ->  若字符串前半段位数子，后半段位字母，它也能解析；解析规则 从左到右解析，直到遇到 非 数字；最终返回值为「整数 - int」
  - parseFloat(表达式)  ->  若字符串前半段位数子，后半段位字母，它也能解析；解析规则 从左到右解析，直到遇到 非 数字；最终返回值为「小数/浮点数 - float」
  - 六则运算，除了 加号，剩下的 表达式 只要出现其他 运算符，JS都会尝试 让 表达式 返回 为 数字

string:
  - String(表达式)
  - 任意变量.toString(radix);
  - 任意变量 + '1'   ->  加号 左右两侧 只要 出现 一个 字符串，则 它的返回值 就变成字符串


boolean:
  - Boolean(表达式)  ->  除了 ''、0、null、NaN、undefined 会返回 false，其他都是 true
*/


/* 运算符：
  六则运算：+、-、*、/、%、**
  赋值运算符：=、+=、-=、*=、/=、%=、**=
    var num = 9;
    num = num + 9;   ->  可以转成换 num += 9;
  比较运算符：==、===、!=、!==、>=、<=、>、<
    ==：只比较数据是否相等
    ===：先比较数据类型，再比价数据是否相等


*/
</script>